<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <script>
        // 1. 数据类型
        // 基本类型 数字,字符串,布尔,undefined,null
        let num=1
        console.log('num',num)
        let food='炒蛋'
        console.log('food',food)
        let male=false
        console.log('male',male)
        let empty=undefined
        console.log('empty',empty)
        let empty2=null
        console.log('empty2',empty2)

        // 复杂类型 对象,数组,函数
        let person={
            name:'jack',
            age:18,
            male:false
        }
        console.log('person',person)

        let foods=['1','2','3']
        console.log('foods',foods)

        let sayHi=function(){
            console.log('meme')
        }
        sayHi()

        // let 常量 可以修改,JS中变量的直接赋值,不限制类型
        person='jack'
        console.log(person)

        // const 常量 无法修改
        const pi=3.1415926535
        // pi=123

        const dog={
            name:'柯基',
            color:'黄色',
            food:['骨头','狗粮']
        }

        // const 无法重新赋值
        // dog = '哈士奇'

        // 对象类型,是引用类型
        // 对象.xxx=新的值 dog 对应的地址没变
        // 修改的是 地址对应的数据中的 color 属性的值
        dog.color='橘黄色'
        console.log(dog)

        // 易错点
        // 1. log 输出,可以输出多个参数用逗号隔开
        console.log('meme',dog)

        const cat={
            name:'布偶猫',
            // : 之后的是变量没有就报错
            food:vefetable
        }
        // 代码写的时候可能不报错,不代表运行的时候不报错
    </script>
</body>
</html>